Mongo数据库的一些基本操作

选择数据库

创建一个数据mydb,若没有mydb数据库,则创建,如果有这个数据库则返回已经有的数据库

1
use mydb

登录数据库

使用用户mydb,密码password登录数据库

1
db.auth('mydb','password')

查看表

查看数据库下所有的表

1
show tables

查看表数据

查看tablename表的数据

1
db.tablename.find()

删除表

删除tablename表

1
db.tablename.drop()

##其他操作(未验证)

新建用户 db.createUser({user:”账号”,pwd:”密码”,roles:[{“role”:”userAdmin”,”db”:”admin”},{“role”:”root”,”db”:”admin”},{“role”:”userAdminAnyDatabase”,”db”:”admin”}]})

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限(本次创建的就是超级账号)

对账号授权:db.auth(“账号”,”密码”)

重启mongo 加上 –auth 参数

此时如不使用用户名密码登录,show dbs, 和 show tables 都无权限

使用账号密码登录:mongo -u admin -p 12345 localhost:27017/admin (该账户admin,虽然是admin库中的用户,但是具有所有数据库的权限:userAdminAnyDatabase)

新建用户 db.createUser({user:”账号”,pwd:”密码”,roles:[{“role”:”userAdmin”,”db”:”admin”},{“role”:”root”,”db”:”admin”},{“role”:”userAdminAnyDatabase”,”db”:”admin”}]})
Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限(本次创建的就是超级账号)

对账号授权:db.auth(“账号”,”密码”)

重启mongo 加上 –auth 参数

此时如不使用用户名密码登录,show dbs, 和 show tables 都无权限

使用账号密码登录:mongo -u admin -p 12345 localhost:27017/admin (该账户admin,虽然是admin库中的用户,但是具有所有数据库的权限:userAdminAnyDatabase
)

继开 wechat
欢迎加我的微信,共同交流技术